home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / boot / netBoot.new / dev / amd_ether.h < prev    next >
C/C++ Source or Header  |  1990-12-19  |  3KB  |  88 lines

  1.  
  2. /*    @(#)amd_ether.h 1.1 86/09/27 SMI    */
  3.  
  4. /*
  5.  * Copyright (c) 1986 by Sun Microsystems, Inc.
  6.  */
  7.  
  8. /*
  9.  * amd_ether.h: Defines for the AM7990 Ethernet chip.
  10.  */
  11.  
  12. #define    AMD_E_RDP    0        /* AMD Register DATA port           */
  13. #define    AMD_E_RAP    AMD_E_RDP+1    /* AMD Register address select port */
  14.                     /* The +1 is +1 short int (16 bits) */
  15. #define AMD_E_CSR0      0               /* AMD CSR0 */
  16. #define AMD_E_CSR1      1               /* AMD CSR1 */
  17. #define AMD_E_CSR2      2               /* AMD CSR2 */
  18. #define AMD_E_CSR3      3               /* AMD CSR3 */
  19. #define AMD_E_STOP      4        /* Stop Command */
  20. #define AMD_E_START     2        /* Start Command */
  21. #define AMD_E_INIT      1        /* Initalize Command */
  22.  
  23.  
  24. #define AMD_E_INITOK    ( 1<<8 )    /* Initalize OK flag */
  25. #define AMD_E_INT       ( 1<<7 )    /* Interrupt flag    */
  26. #define AMD_E_INEA      ( 1<<6 )    /* Interrupt Enable  */
  27. #define AMD_E_OWN       ( 1<<15 )    /* OWN flag          */
  28. #define AMD_E_PROM      ( 1<<15 )    /* Promiscus mode (rcv anything) */
  29. #define AMD_E_INTL      ( 1<<6 )    /* Internal loopback */ 
  30. #define AMD_E_DTCR      ( 1<<3 )    /* Disable TX CRC generator */ 
  31. #define AMD_E_LOOPBACK  ( 1<<2 )    /* Activate loopback */
  32. #define AMD_E_STP       ( 1<<9 )    /* Activate loopback */
  33. #define AMD_E_ENP       ( 1<<8 )    /* Activate loopback */
  34.  
  35. #define AMD_E_TXERR     ( 1<<14 )    /* Error flag in tx-descriptor */
  36. #define AMD_E_RXERR     ( 1<<14 )    /* Error flag in rx-descriptor */
  37. #define AMD_E_ERR       ( 1<<15 )    /* Error flag in Status word   */
  38. #define AMD_E_BABL      ( 1<<14 )       /* Error - babbling transmitter */
  39. #define AMD_E_MISS      ( 1<<12 )       /* Error - missed packet */
  40. #define AMD_E_MERR      ( 1<<11 )       /* Error - memory timeout */
  41.  
  42. /*
  43.  * END of Defines for AMD lance chip
  44.  */
  45.  
  46.  
  47.  
  48. /*
  49.  * Definitions of structures used by these tests
  50.  */
  51.  
  52. struct amd_init        /* AMD Initilization block */
  53.     {
  54.     u_short mode;        /* Mode control                */
  55.     u_short padr_lo;    /* Lo 16 bits of physical address       */
  56.     u_short padr_mid;    /* Mid 16 bits                 */
  57.     u_short padr_hi;    /* Hi 16 bits                */
  58.     u_short ladr_lo;    /* Lo 16 bits of logical  address       */
  59.     u_short ladr_mid_lo;    /* Mid_lo 16 bits            */
  60.     u_short ladr_mid_hi;    /* Mid_hi 16 bits            */
  61.     u_short ladr_hi;    /* Hi 16 bits                */
  62.     u_short rdra_lo;    /* Lo 16 bits of pointer to discriptor  */
  63.                 /* rings for receive            */
  64.     u_short rdra_hi;        /* Hi 8 bits of pointer to discriptor   */
  65.                 /* rings for receive & rcv ring length    */
  66.     u_short tdra_lo;    /* Lo 16 bits of pointer to discriptor  */
  67.                 /* rings for txmit            */
  68.     u_short tdra_hi        /* Hi 8 bits of pointer to discriptor   */
  69.                 /* rings for txmit & rcv ring length    */
  70.     };
  71.  
  72. struct amd_rcv_ring
  73.     {
  74.     u_short rmd0_ladr;    /* lo address of data buffer pointed to */
  75.     u_short rmd1_hadr;    /* Hi 8 bits of buffer & info bits      */
  76.     u_short rmd2_bcnt;    /* size of data buffer            */
  77.     u_short rmd3_mcnt;    /* size of message in this buffer       */
  78.     };
  79.  
  80. struct amd_txmt_ring
  81.     {
  82.     u_short tmd0_ladr;    /* lo address of data buffer pointed to */
  83.     u_short tmd1_hadr;    /* Hi 8 bits of buffer & info bits      */
  84.     u_short tmd2_bcnt;    /* size of data buffer            */
  85.     u_short tmd3_tdr;    /* size of message in this buffer       */
  86.     };
  87.  
  88.